// Activity.h: interface for the Activity class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ACTIVITY_H__546D8B0E_BDE2_4443_BD10_FE165D6E21DC__INCLUDED_)
#define AFX_ACTIVITY_H__546D8B0E_BDE2_4443_BD10_FE165D6E21DC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "data.h"


class Activity  
{
private:
	int _job;
	int _stage;
	int _machine;
	int _ptime;
	int _stime;
	int _estime;
	int _lstime;
	int _etime;
	int _rtime;
//	int _ctime; // Completion time of job i at stage j on machine k;
	
public:
	Activity (data md, int job, int stage);
	Activity (schedule ms, int job, int stage);

	int setStime(int job, int stage, int stime);
	int setStime(int job, int stage, int machine, int stime);
	int setEStime ( int job, int stage, int estime);
	int setLStime(int job, int stage, int lstime);

	int getStime(int job, int stage);
	int getStime(int job, int stage, int machine);
	int getEStime(int job, int stage);
	int getLStime(int job, int stage);
	
	int setPtime(int job, int stage, int ptime);
	int getPtime(int job, int stage);
	int getEtime(int job, int stage);
	int setRtime(int job, int stage, int rtime);
	int getRtime(int job, int stage);

	int setMachine ( int job, int stage, int machine);
	int getMachine ( int job, int stage);
	int setCtime   ( int job, int stage, int machine, int ctime);
	int setCtime   ( int job, int stage, int ctime);
	int getCtime   ( int job, int stage, int machine);
	int getCtime   ( int job, int stage);
};

#endif // !defined(AFX_ACTIVITY_H__546D8B0E_BDE2_4443_BD10_FE165D6E21DC__INCLUDED_)
